/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Aplicacion.java
 *
 * Created on 28-12-2010, 01:24:36 AM
 */
package aplicacion;

import clases.Cambiar;
import clases.Mensajes;
import java.awt.Color;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javazoom.jlgui.basicplayer.BasicPlayer;
import javazoom.jlgui.basicplayer.BasicPlayerException;
import acercade.AcercaDe;
import acercade.GPL;

/**
 *
 * @author Administrador
 */
public class Aplicacion extends javax.swing.JFrame {

    private String fra_ocu = "", frase = "", aux;
    private final int ENTER = 10;
    private final int ESPACIO = 32;
    private final int ESCAPE = 27;
    private final int BACK_SPACE = 8;
    private final String CERO = "/fotos/0.gif";
    private final String UNO = "/fotos/1.gif";
    private final String DOS = "/fotos/2.gif";
    private final String TRES = "/fotos/3.gif";
    private final String CUATRO = "/fotos/4.gif";
    private final String CINCO = "/fotos/5.gif";
    private final String SEIS = "/fotos/6.gif";
    private final String SIETE = "/fotos/7.gif";
    private final String HOSPITAL = "/fotos/hospital.png";
    private final String ICONO = "/fotos/fuego.gif";
    private final String SONIDO = "sonidos/fire.wav";
    private int tamaño = 14;
    private int icono_actual = 0;
    private List letras = new ArrayList();
    private HiloHospital hh = new HiloHospital();
    private BasicPlayer bp = new BasicPlayer();
    private BasicPlayer bp2 = new BasicPlayer();
    private HiloSonido hs = new HiloSonido();

    /** Creates new form Aplicacion */
    public Aplicacion() {
        initComponents();
        clases.Redimensionar.redimensionarFormulario(this, false, "JQuemado");
        iniciarJuego(true);
        cambiarTamañoFuente(tamaño);
        hh.start();
        Cambiar.cambiarIcono(this, ICONO);
        try {
            bp.open(new File(SONIDO));
            bp2.open(new File(SONIDO));
        } catch (BasicPlayerException ex) {
            Logger.getLogger(Aplicacion.class.getName()).log(Level.SEVERE, null, ex);
        }
        initAcercaDe();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jPanel3 = new javax.swing.JPanel();
        ingreso = new javax.swing.JTextField();
        btn_jugar = new javax.swing.JButton();
        lbl_error = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        frase_panel = new javax.swing.JTextArea();
        jScrollPane2 = new javax.swing.JScrollPane();
        let_ing = new javax.swing.JList();
        spinner_tamaño = new javax.swing.JSpinner();
        jLabel2 = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();
        icon = new javax.swing.JLabel();
        op1 = new javax.swing.JLabel();
        op2 = new javax.swing.JLabel();
        op3 = new javax.swing.JLabel();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jMenuItem1 = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        menuItemAcercade = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setBackground(new java.awt.Color(255, 255, 255));
        setResizable(false);
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jPanel1.setBackground(new java.awt.Color(255, 255, 255));
        jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jPanel3.setBackground(new java.awt.Color(255, 255, 255));
        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
        jPanel3.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        ingreso.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                ingresoKeyReleased(evt);
            }
            public void keyTyped(java.awt.event.KeyEvent evt) {
                ingresoKeyTyped(evt);
            }
        });
        jPanel3.add(ingreso, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 10, 150, -1));

        btn_jugar.setText("Jugar Letra");
        btn_jugar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_jugarActionPerformed(evt);
            }
        });
        jPanel3.add(btn_jugar, new org.netbeans.lib.awtextra.AbsoluteConstraints(180, 10, 100, 20));

        lbl_error.setFont(new java.awt.Font("Tahoma", 1, 11));
        lbl_error.setForeground(new java.awt.Color(255, 0, 0));
        lbl_error.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        lbl_error.setText("   Ya ingresó esa letra");
        jPanel3.add(lbl_error, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 30, 280, 20));

        jPanel1.add(jPanel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 10, 290, 50));

        frase_panel.setColumns(20);
        frase_panel.setFont(new java.awt.Font("Monospaced", 1, 14));
        frase_panel.setRows(5);
        frase_panel.setToolTipText("Ingrese una palabra o frase para comenzar el juego");
        frase_panel.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                frase_panelKeyPressed(evt);
            }
            public void keyReleased(java.awt.event.KeyEvent evt) {
                frase_panelKeyReleased(evt);
            }
            public void keyTyped(java.awt.event.KeyEvent evt) {
                frase_panelKeyTyped(evt);
            }
        });
        jScrollPane1.setViewportView(frase_panel);

        jPanel1.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 70, 400, 280));

        jScrollPane2.setBackground(new java.awt.Color(255, 255, 255));
        jScrollPane2.setBorder(javax.swing.BorderFactory.createTitledBorder("Letras ya ingresadas"));
        jScrollPane2.setAutoscrolls(true);

        jScrollPane2.setViewportView(let_ing);

        jPanel1.add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(620, 10, 140, 340));

        spinner_tamaño.setToolTipText("Tamaño de la Fuente");
        spinner_tamaño.setValue(14);
        spinner_tamaño.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                spinner_tamañoStateChanged(evt);
            }
        });
        jPanel1.add(spinner_tamaño, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 20, 40, 20));

        jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/fotos/lupa_mas.gif"))); // NOI18N
        jLabel2.setToolTipText("Aumentar el tamaño de la Fuente");
        jLabel2.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                jLabel2MouseReleased(evt);
            }
        });
        jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 10, 30, 40));

        jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/fotos/lupa_menos.gif"))); // NOI18N
        jLabel1.setToolTipText("Disminuir el tamaño de la Fuente");
        jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                jLabel1MouseReleased(evt);
            }
        });
        jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 10, 30, 40));

        icon.setIcon(new javax.swing.ImageIcon(getClass().getResource("/fotos/0.gif"))); // NOI18N
        jPanel1.add(icon, new org.netbeans.lib.awtextra.AbsoluteConstraints(380, 0, 290, 380));

        op1.setFont(new java.awt.Font("Tahoma", 0, 12));
        op1.setText("Le quedan ");
        jPanel1.add(op1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 350, 180, 20));

        op2.setFont(new java.awt.Font("Tahoma", 1, 12));
        op2.setForeground(new java.awt.Color(255, 51, 51));
        op2.setText("x");
        jPanel1.add(op2, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 350, -1, 20));

        op3.setFont(new java.awt.Font("Tahoma", 0, 12));
        op3.setText("Oportunidades");
        jPanel1.add(op3, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 350, 130, 20));

        getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 770, 370));

        jMenuBar1.setBackground(new java.awt.Color(255, 255, 255));

        jMenu1.setBackground(new java.awt.Color(0, 0, 0));
        jMenu1.setForeground(new java.awt.Color(255, 255, 255));
        jMenu1.setText("Juego");
        jMenu1.setOpaque(false);

        jMenuItem1.setForeground(new java.awt.Color(1, 1, 1));
        jMenuItem1.setText("Nuevo");
        jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem1ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem1);

        jMenuBar1.add(jMenu1);

        jMenu2.setBackground(new java.awt.Color(0, 0, 0));
        jMenu2.setForeground(new java.awt.Color(255, 255, 255));
        jMenu2.setText("Ayuda");

        menuItemAcercade.setText("Acerca de...");
        jMenu2.add(menuItemAcercade);

        jMenuBar1.add(jMenu2);

        setJMenuBar(jMenuBar1);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void frase_panelKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_frase_panelKeyReleased
    }//GEN-LAST:event_frase_panelKeyReleased

    private void frase_panelKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_frase_panelKeyPressed
    }//GEN-LAST:event_frase_panelKeyPressed

    private void frase_panelKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_frase_panelKeyTyped
        if (frase_panel.isEditable()) {
            if (evt.getKeyChar() != ENTER && evt.getKeyChar() != ESPACIO && evt.getKeyChar() != BACK_SPACE && evt.getKeyChar() != ESCAPE) {
                fra_ocu += " _ ";
            } else if (evt.getKeyChar() == ESPACIO) {
                fra_ocu += "   ";
            } else if (evt.getKeyChar() == ENTER) {
                fra_ocu += "\n";
            } else if (evt.getKeyChar() == BACK_SPACE) {
                try {
                    fra_ocu = fra_ocu.substring(0, fra_ocu.length() - 3);
                    frase = frase.substring(0, frase.length() - 1);
                } catch (java.lang.StringIndexOutOfBoundsException ex) {
                }
            }

            if (evt.getKeyChar() != ENTER) {
                if (evt.getKeyChar() != BACK_SPACE) {
                    frase += evt.getKeyChar();
                }
                frase_panel.setText(fra_ocu);
                if (frase_panel.getText().trim().equalsIgnoreCase("")) {
                    ingreso.setEditable(false);
                    btn_jugar.setEnabled(false);
                } else {
                    ingreso.setEditable(true);
                    btn_jugar.setEnabled(true);
                }
                evt.consume();
            }
        }
    }//GEN-LAST:event_frase_panelKeyTyped

    private void ingresoKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_ingresoKeyReleased
        if (evt.getKeyChar() == ENTER && !ingreso.getText().trim().equalsIgnoreCase("")) {
            if (!isLetra(ingreso.getText())) {
                jugarLetra();
            } else {
                ingreso.setText("");
                lbl_error.setForeground(Color.red);
            }

        }
    }//GEN-LAST:event_ingresoKeyReleased

    private void ingresoKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_ingresoKeyTyped
        if (ingreso.getText().length() == 1 || evt.getKeyChar() == ESPACIO) {
            evt.consume();
        }
    }//GEN-LAST:event_ingresoKeyTyped

    private void btn_jugarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_jugarActionPerformed
        if (!isLetra(ingreso.getText())) {
            jugarLetra();
        } else {
            ingreso.setText("");
            lbl_error.setForeground(Color.red);
        }
    }//GEN-LAST:event_btn_jugarActionPerformed

    private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
        iniciarJuego(((icono_actual == 0?true:false)));
    }//GEN-LAST:event_jMenuItem1ActionPerformed

    private void jLabel1MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel1MouseReleased
        tamaño--;
        cambiarTamañoFuente(tamaño);
        spinner_tamaño.setValue(tamaño);
    }//GEN-LAST:event_jLabel1MouseReleased

    private void jLabel2MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel2MouseReleased
        tamaño++;
        cambiarTamañoFuente(tamaño);
        spinner_tamaño.setValue(tamaño);
    }//GEN-LAST:event_jLabel2MouseReleased

    private void spinner_tamañoStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_spinner_tamañoStateChanged
        if (Integer.parseInt(spinner_tamaño.getValue().toString()) < 1) {
            spinner_tamaño.setValue(1);
        }
        cambiarTamañoFuente(Integer.parseInt(spinner_tamaño.getValue().toString()));
        tamaño = Integer.parseInt(spinner_tamaño.getValue().toString());
    }//GEN-LAST:event_spinner_tamañoStateChanged

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(Aplicacion.class.getName()).log(Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            Logger.getLogger(Aplicacion.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            Logger.getLogger(Aplicacion.class.getName()).log(Level.SEVERE, null, ex);
        } catch (UnsupportedLookAndFeelException ex) {
            Logger.getLogger(Aplicacion.class.getName()).log(Level.SEVERE, null, ex);
        }
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new Aplicacion().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btn_jugar;
    private javax.swing.JTextArea frase_panel;
    private javax.swing.JLabel icon;
    private javax.swing.JTextField ingreso;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JLabel lbl_error;
    private javax.swing.JList let_ing;
    private javax.swing.JMenuItem menuItemAcercade;
    private javax.swing.JLabel op1;
    private javax.swing.JLabel op2;
    private javax.swing.JLabel op3;
    private javax.swing.JSpinner spinner_tamaño;
    // End of variables declaration//GEN-END:variables

    private boolean isLetraOk(String letra) {
        boolean estado = false;
        int c = 0;
        for (int i = 0; i < frase.length(); i++) {
            if (frase.charAt(i) != ' ') {
                c++;//aca cuento las letras
            }
            if (letra.equalsIgnoreCase(String.valueOf(frase.charAt(i)))) {
                estado = true;
                cambiarEspacioPorLetra(String.valueOf(frase.charAt(i)), c);
            }
        }
        return estado;
    }

    private void cambiarEspacioPorLetra(String letra, int i) {
        int cont = 0;
        char l;
        String pri, ulti;
        for (int j = 0; j < fra_ocu.length(); j++) {
            l = fra_ocu.charAt(j);
            if (l != ' ') {
                cont++;
                if (cont == i) {
                    pri = fra_ocu.substring(0, j);
                    ulti = fra_ocu.substring(j + 2);
                    fra_ocu = pri + letra + " " + ulti;
                }
            }
        }
        frase_panel.setText(fra_ocu);
    }

    private void agregarLetra(String letra) {
        letras.add(letra);
        final String[] let = new String[letras.size()];

        for (int i = 0; i < letras.size(); i++) {
            let[i] = letras.get(i).toString();
        }

        let_ing.setModel(new javax.swing.AbstractListModel() {

            String[] strings = let;

            public int getSize() {
                return strings.length;
            }

            public Object getElementAt(int i) {
                return strings[i];
            }
        });
    }

    private void jugarLetra() {
        lbl_error.setForeground(Color.white);
        String letra = ingreso.getText();
        agregarLetra(letra);
        ingreso.setText("");
        ingreso.requestFocus();
        if (isLetraOk(letra)) {
            if (gano()) {
                ingreso.setEditable(false);
                btn_jugar.setEnabled(false);
                frase_panel.setEditable(false);
                if (Mensajes.mensajePreguntaSiNo("Usted Ha Ganado, FELICITACIONES!!, ¿Desea Jugar Nuevamente?") == Mensajes.si) {
                    iniciarJuego(false);
                }
            }
        } else {
            switch (icono_actual) {
                case 0: {
                    cambiarIcono(UNO);
                    icono_actual = 1;
                    setOportunidades(6);
                    hs = new HiloSonido();
                    hs.start();
                    break;
                }
                case 1: {
                    cambiarIcono(DOS);
                    icono_actual = 2;
                    setOportunidades(5);
                    break;
                }
                case 2: {
                    cambiarIcono(TRES);
                    icono_actual = 3;
                    setOportunidades(4);
                    break;
                }
                case 3: {
                    cambiarIcono(CUATRO);
                    icono_actual = 4;
                    setOportunidades(3);
                    break;
                }
                case 4: {
                    cambiarIcono(CINCO);
                    icono_actual = 5;
                    setOportunidades(2);
                    break;
                }
                case 5: {
                    cambiarIcono(SEIS);
                    icono_actual = 6;
                    setOportunidades(1);
                    break;
                }
                case 6: {
                    cambiarIcono(SIETE);
                    icono_actual = 7;
                    setOportunidades(0);
                    ingreso.setEditable(false);
                    btn_jugar.setEnabled(false);
                    frase_panel.setEditable(false);
                    if (Mensajes.mensajePreguntaSiNo("Usted ha perdido, ¿Desea ver la palabra o frase oculta?") == Mensajes.si) {
                        String a = "";
                        for (int i = 0; i < frase.length(); i++) {
                            a += " " + frase.charAt(i) + " ";
                        }
                        frase_panel.setText(a);
                    }
                    if (Mensajes.mensajePreguntaSiNo("¿Desea Jugar Nuevamente?") == Mensajes.si) {
                        iniciarJuego(false);
                    }
                }
            }
        }
    }

    private void cambiarIcono(String nombreIcono) {
        icon.setIcon(new javax.swing.ImageIcon(getClass().getResource(nombreIcono)));
    }

    private void borrarListaLetras() {
        let_ing.setModel(new javax.swing.AbstractListModel() {

            String[] strings = {""};

            public int getSize() {
                return strings.length;
            }

            public Object getElementAt(int i) {
                return strings[i];
            }
        });
    }

    private void iniciarJuego(boolean primeraVez) {
        if (!primeraVez) {
            hh.setEstado(true);

        }else{
            cambiarIcono(CERO);
        }

        fra_ocu = "";
        frase = "";
        frase_panel.setText("");
        ingreso.setEditable(false);
        btn_jugar.setEnabled(false);
        letras.removeAll(letras);
        borrarListaLetras();
        frase_panel.requestFocus();
        frase_panel.setEditable(true);
        icono_actual = 0;
        lbl_error.setForeground(Color.white);
        op1.setForeground(Color.black);
        setOportunidades(7);
    }

    private boolean gano() {
        return !frase_panel.getText().contains("_");
    }

    private void cambiarTamañoFuente(int tamaño) {
        frase_panel.setFont(new java.awt.Font("Monospaced", 1, tamaño));
    }

    private boolean isLetra(String letra) {
        for (int i = 0; i < letras.size(); i++) {
            if (letra.equalsIgnoreCase(letras.get(i).toString())) {
                return true;
            }
        }

        return false;
    }

    private void setOportunidades(int oportunidades) {
        if (oportunidades == 0) {
            op1.setForeground(Color.red);
            op1.setText("¡Te has QUEMADO!");
            op2.setText("");
            op3.setText("");
        } else {
            op1.setText(((oportunidades == 1) ? "Le queda" : "Le quedan"));
            op2.setText(Integer.toString(oportunidades));
            op3.setText(((oportunidades == 1) ? "Oportunidad" : "Oportunidades"));
        }

    }

    private class HiloHospital extends Thread {

        private boolean estado = false;
        private int cont = 0;

        @Override
        public void run() {
            while (true) {
                if (isEstado()) {
                    if(hs.isAlive()){
                        hs.stop();
                    }
                    try {
                        bp.stop();
                        bp2.stop();
                    } catch (BasicPlayerException ex) {
                        Logger.getLogger(Aplicacion.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    cambiarIcono(HOSPITAL);
                    cont++;
                    if(cont == 4){
                        cambiarIcono(CERO);
                        setEstado(false);
                        setCont(0);
                    }
                }
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException ex) {
                    Logger.getLogger(Aplicacion.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }


        /**
         * @return the cont
         */
        public int getCont() {
            return cont;
        }

        /**
         * @param cont the cont to set
         */
        public void setCont(int cont) {
            this.cont = cont;
        }

        /**
         * @return the estado
         */
        public boolean isEstado() {
            return estado;
        }

        /**
         * @param estado the estado to set
         */
        public void setEstado(boolean estado) {
            if (estado){
                
            }
            this.estado = estado;
        }
    }

    private class HiloSonido extends Thread{

        public void run(){
            while(true){
                try {
                    bp.play();
                } catch (BasicPlayerException ex) {
                    Logger.getLogger(Aplicacion.class.getName()).log(Level.SEVERE, null, ex);
                }
                try {
                    Thread.sleep(700);
                } catch (InterruptedException ex) {
                    Logger.getLogger(Aplicacion.class.getName()).log(Level.SEVERE, null, ex);
                }
                try {
                    bp2.play();
                } catch (BasicPlayerException ex) {
                    Logger.getLogger(Aplicacion.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
    }
    
    private void initAcercaDe() {
        AcercaDe ad = new AcercaDe("JQuemado", "Juego simple y divertido hecho en Java", "Patricio Pérez Pinto", "2012", "Patricio Pérez Pinto", GPL.AMBAS_VERSIONES);
        ad.addComponent(this.menuItemAcercade);
    }
}
